Atomikos是一个非常流行的开源事务管理器,并且可以嵌入到你的Spring Boot应用中。你可以使用spring-boot-starter-jta-atomikos
Starter去获取正确的Atomikos库。Spring Boot会自动配置Atomikos,并将合适的depends-on
应用到你的Spring Beans上,确保它们以正确的顺序启动和关闭。
默认情况下,Atomikos事务日志将被记录在应用home目录(你的应用jar文件放置的目录)下的transaction-logs
文件夹中。你可以在application.properties
文件中通过设置spring.jta.log-dir
属性来定义该目录,以spring.jta.atomikos.properties
开头的属性能用来定义Atomikos的UserTransactionServiceIml
实现,具体参考AtomikosProperties javadoc。
注 为了确保多个事务管理器能够安全地和相应的资源管理器配合,每个Atomikos实例必须设置一个唯一的ID。默认情况下,该ID是Atomikos实例运行的机器上的IP地址。为了确保生产环境中该ID的唯一性,你需要为应用的每个实例设置不同的spring.jta.transaction-manager-id
属性值。